//
//  BLEManager.h
//  OC-Example
//
//  Created by apang on 2018/7/31.
//  Copyright © 2018年 apang.men All rights reserved.
//

#import <Foundation/Foundation.h>
#import <CoreBluetooth/CoreBluetooth.h>
typedef NS_ENUM(NSInteger, BLEConnectState) {
    BLEConnectStateSuccess      =       0,
    BLEConnectStateFailure      =       1,
    BLEConnectStateDisconnect   =       2,
};
/**
 发现设备

 @param peripheral 设备
 */
typedef void(^BLEDiscoverPeripheral)(CBPeripheral *peripheral);
/**
 设备连接回调

 @param state 状态
 @param error 错误信息
 */
typedef void(^BLEPeripheralConnect)(BLEConnectState state,NSError *error);
/**
 蓝牙管理
 */
@interface BLEManager : NSObject
/**
 连接状态
 */
@property (nonatomic, assign) BLEConnectState connectState;
/**
 蓝牙管理

 @return 单利
 */
+ (BLEManager *)sharedManager;
/**
 蓝牙服务能否使用

 @return 是|否
 */
+ (BOOL)checkPermission;
/**
 开始扫描

 @param discoverPeripheral 发现设备回调
 */
- (void)startScan:(BLEDiscoverPeripheral)discoverPeripheral;
/**
 停止扫描
 */
- (void)stopScan;
/**
 连接设备

 @param peripheral 设备
 @param connectBlock 回调
 */
- (void)connectPeripheral:(CBPeripheral *)peripheral connectBlock:(BLEPeripheralConnect)connectBlock;
@end
